/*
*  Demo Container - It cans stored data when it's type is std::string.
*  Copyright (C) 2014  Dawei
*	 All rights reserved.
*
*  The project is been used for exercise in the MulticoreWare Inc.
*
*  DemoContainerUnitTestRemoveItem.h: It tests the interface of remove_item().
*
*/

#ifndef _DEMOCONTAINERUNITTESTREMOVEITEM_H_
#define _DEMOCONTAINERUNITTESTREMOVEITEM_H_

#include <map>
#include "gtest/gtest.h"

class DemoContainerSuiteStubRemoveItemTest : public testing::Test
{

public:

  DemoContainerSuiteStubRemoveItemTest();

  static void SetUpTestCase()
  {
    std::cout << "The unit test(Stub Module) for remove_item has started" << std::endl;
  }

  static void TearDownTestCase()
  {
    std::cout << "The unit test(Stub Module) for remove_item has finished" << std::endl;
  }

  inline std::map<int, std::string> get_usedata() const
  { return uintTestData_; }

private:

  std::map<int, std::string> uintTestData_;

};

class DemoContainerSuiteDriverRemoveItemTest : public testing::Test
{

public:

  DemoContainerSuiteDriverRemoveItemTest();

  static void SetUpTestCase()
  {
    std::cout << "The unit test(Driver Module) for remove_item has started" << std::endl;
  }

  static void TearDownTestCase()
  {
    std::cout << "The unit test(Driver Module) for remove_item has finished" << std::endl;
  }

  inline std::map<int, std::string> get_usedata() const
  { return uintTestData_; }

private:

  std::map<int, std::string> uintTestData_;
};

#endif //!< _DEMOCONTAINERUNITTESTREMOVEITEM_H_
